The following code finds the ideal and betti table for a point configuration. The point configuration is given by a matrix whose column vectors are the coordinates of the points. The command pointideal does this for a single point, and pointsideal does it for several points
i1 : K = ZZ/101; |
i2 : R = K[x_0..x_3]; |
We check this for some special configurations in P^3, first for a set of six points consisting of two sets of three collinear points, and second for seven points on a twisted cubic
i3 : TwoSets3Points=transpose matrix{{1,0,0,0},{0,1,0,0},{1,1,0,0},{0,0,1,1},{0,0,1,0},{0,0,0,1}}**R
o3 = | 1 0 1 0 0 0 |
| 0 1 1 0 0 0 |
| 0 0 0 1 1 0 |
| 0 0 0 1 0 1 |
4 6
o3 : Matrix R <--- R
|
i4 : I = pointsIdeal TwoSets3Points
2 2 2 2
o4 = ideal (x x , x x , x x , x x , x x - x x , x x - x x )
1 3 0 3 1 2 0 2 2 3 2 3 0 1 0 1
o4 : Ideal of R
|
i5 : minimalBetti I
0 1 2 3
o5 = total: 1 6 8 3
0: 1 . . .
1: . 4 4 1
2: . 2 4 2
o5 : BettiTally
|
i6 : SevenPointsOnTC=transpose matrix{{1,1,1,1},{1,2,4,8},{1,3,9,27},{1,4,16,64},{1,5,25,125},{1,6,36,216},{1,7,49,343}}**R
o6 = | 1 1 1 1 1 1 1 |
| 1 2 3 4 5 6 7 |
| 1 4 9 16 25 36 49 |
| 1 8 27 -37 24 14 40 |
4 7
o6 : Matrix R <--- R
|
i7 : J = pointsIdeal SevenPointsOnTC
2 2 2 2
o7 = ideal (x - x x , x x - x x , x - x x , x x + 14x x + 20x x x -
2 1 3 1 2 0 3 1 0 2 0 2 0 3 0 1 3
------------------------------------------------------------------------
2 2 2 3 2 2
20x x x + 6x x + 12x x - 23x x - 10x , x x + 26x x + 3x x x -
0 2 3 0 3 1 3 2 3 3 0 1 0 3 0 1 3
------------------------------------------------------------------------
2 2 2 3 3 2
17x x x + 29x x + 11x x + 9x x + 39x , x + 43x x - 32x x x +
0 2 3 0 3 1 3 2 3 3 0 0 3 0 1 3
------------------------------------------------------------------------
2 2 3
44x x x - 44x x + 31x x - 43x )
0 2 3 0 3 2 3 3
o7 : Ideal of R
|
i8 : minimalBetti J
0 1 2 3
o8 = total: 1 6 8 3
0: 1 . . .
1: . 3 2 .
2: . 3 6 3
o8 : BettiTally
|
Finally we check configurations of 3 to 10 generic points in P^3, note 3 points will have a linear form
i9 : netList(pack(2,apply({3,4,5,6,7,8,9,10},i->(minimalBetti pointsIdeal random(R^4,R^i)))))
+---------------+----------------+
| 0 1 2 3 | 0 1 2 3 |
o9 = |total: 1 4 5 2 |total: 1 6 8 3 |
| 0: 1 1 . . | 0: 1 . . . |
| 1: . 3 5 2 | 1: . 6 8 3 |
+---------------+----------------+
| 0 1 2 3 | 0 1 2 3 |
|total: 1 5 5 1 |total: 1 4 5 2 |
| 0: 1 . . . | 0: 1 . . . |
| 1: . 5 5 . | 1: . 4 2 . |
| 2: . . . 1 | 2: . . 3 2 |
+---------------+----------------+
| 0 1 2 3 | 0 1 2 3 |
|total: 1 4 6 3 |total: 1 6 9 4 |
| 0: 1 . . . | 0: 1 . . . |
| 1: . 3 . . | 1: . 2 . . |
| 2: . 1 6 3 | 2: . 4 9 4 |
+---------------+----------------+
| 0 1 2 3| 0 1 2 3|
|total: 1 8 12 5|total: 1 10 15 6|
| 0: 1 . . .| 0: 1 . . .|
| 1: . 1 . .| 1: . . . .|
| 2: . 7 12 5| 2: . 10 15 6|
+---------------+----------------+
|